Star couplers are well known in data processing technology. Systems employing star couplers or couplers similar to star couplers are described, for example, in "Data Processing System Having a Star Coupler with Contention Circuitry", Chari et al., U.S. Pat. No. 4,428,046, issued Jan. 24, 1984; "Data Processing System Employing Broadcast Packet Switching", Gunderson et al., U.S. Pat. No. 4,494,185, issued Jan. 15, 1985; and "Processor Overrun Circuit", Kaino et al., U.S. Pat. No. 4,700,344, issued Oct. 13, 1987.
The above listed patents, which are assigned to the Assignee of this invention, are incorporated herein by reference. The present invention is usable within the systems disclosed in the above-identified patents to interconnect processors within a subsystem, and further, to link subsystems together.
When used in a data processing system having a plurality of processors, a star coupler is typically connected to pairs of transmission lines, with one pair associated with each processor. A first transmission line of the pair carries signals away from the processor to the star coupler, and a second transmission line of the pair carries signals from the star coupler to the processor. When any processor transmits or generates a signal or message, that message is received by the star coupler from the first transmission line associated with the processor and is directed or passed to every processor by way of each second transmission line, including the second transmission line returning to the processor that transmitted the message. This of course offers advantages in linking multiple processors, since a processor transmitting a message receives back the message at the same time each of the other processors receives the message. The transmitting processor can therefore check for any transmission errors, without requiring a receiving subsystem to regenerate the message.
The function of the star coupler is essentially to take all the signals received on the input side of the coupler on the first transmission lines, logically OR all these first transmission line signals, and redrive the resulting signal to all processors over the second transmission line of each pair.
However, as the size of data processing systems increase and processing systems become more dispersed, a multitudinous number of cables are required to interconnect the greater number of processors. In large systems employing dozens of processors, cable congestion quickly becomes an unmanageable problem.
Fault detection is also difficult to implement in a distributed network. Systems employing a negative acknowledge protocol, where every processor on the network checks each transmission and has the ability to abort any transmission, a faulty transmission path could result in severely degraded bus performance. A method for quickly detecting and isolating faults in such a system is necessary in maintaining system performance and up time.